Various forms of network-based storage systems exist today. These forms include network attached storage (NAS), storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple users with access to shared data, backing up critical data (e.g., by data mirroring), etc.
A network-based storage system typically includes at least one storage server, which is a processing system configured to store and retrieve data on behalf of one or more client processing systems (“clients”). A storage server may be a file server, which is sometimes called a “filer”. A filer operates on behalf of one or more clients to store and manage shared files. The files may be stored in a storage subsystem that includes one or more arrays of mass storage devices, such as magnetic or optical disks or tapes, by using RAID (Redundant Array of Inexpensive Disks). Hence, the mass storage devices in each array may be organized into one or more separate RAID groups.
For performance monitoring and debugging purposes, the operating system of a storage system may at specific times generate a core dump that includes an image of the system memory. A core dump is typically generated when the operation of the system is terminated abnormally. A core dump can also be generated periodically or when it is necessary to diagnose certain performance problems of the system.
A full core dump is generally multi-gigabytes in size. In addition to the system memory image, a full core dump usually includes other key information of the system state, including contents of the processor registers, memory management information, and processor and operating system information such as counters and flags. Due to the file size, transferring the core dump to a remote support center for reporting and analysis poses a problem. One conventional technique is to require a user to upload the core dump to the service provider's File Transfer Protocol (FTP) sites. The upload may take a long time and may cause network congestion.
In addition to the file size, the generation of a core dump often causes a storage system to go offline until it is rebooted. For example, a system administrator may cause a core dump by using a halt command or other suitable commands. A core dump may be generated when a system anomaly occurs. In these scenarios, a panic procedure is typically invoked to switch the system into a uniprocessor mode to lock out other threads from running. After a core dump is generated, the system needs to be rebooted. As a result, the availability of the storage system is reduced because of the down time.